package com.bigdata.service.domain.vo;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.bigdata.common.annotation.ExcelDictFormat;
import com.bigdata.common.convert.ExcelDictConvert;
import lombok.Data;
import java.util.Date;

import java.io.Serializable;

/**
 * 用户信息视图对象 service_users
 *
 * @author ruoyi
 * @date 2025-07-15
 */
@Data
@ExcelIgnoreUnannotated
public class ServiceUsersVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 用户唯一ID
     */
    @ExcelProperty(value = "用户唯一ID")
    private Long userId;

    /**
     * 账户类型：单位账户/个人账户
     */
    @ExcelProperty(value = "账户类型：单位账户/个人账户")
    private String accountType;

    /**
     * 用户账号(6-30位)
     */
    @ExcelProperty(value = "用户账号(6-30位)")
    private String username;

    /**
     * bcrypt加密的密码(8-20位)
     */
    @ExcelProperty(value = "bcrypt加密的密码(8-20位)")
    private String passwordHash;

    /**
     * 真实姓名
     */
    @ExcelProperty(value = "真实姓名")
    private String realName;

    /**
     * 联系电话(支持座机格式)
     */
    @ExcelProperty(value = "联系电话(支持座机格式)")
    private String phone;

    /**
     * 电子邮箱
     */
    @ExcelProperty(value = "电子邮箱")
    private String email;

    /**
     * 单位名称(单位账户必填)
     */
    @ExcelProperty(value = "单位名称(单位账户必填)")
    private String companyName;

    /**
     * 所属岗位
     */
    @ExcelProperty(value = "所属岗位")
    private String position;

    /**
     * 会员类型
     */
    @ExcelProperty(value = "会员类型")
    private String memberType;

    /**
     * 会员到期时间
     */
    @ExcelProperty(value = "会员到期时间")
    private Date memberEndTime;

    private Long points;


}
